From 935e07cb067551ba3478a34a2b6e657f2bb25722 Mon Sep 17 00:00:00 2001 From: David Reitter Date: Wed, 4 Mar 2009 18:57:53 +0000 Subject: [PATCH] (clipboard-yank): avoid checking (x-selection-exists-p) if unbound in order to enable the item. For paste menu item, same, and check kill-ring. --- lisp/menu-bar.el | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 5b3b5674f3e..24fd88e6819 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -456,11 +456,13 @@ :help "Choose a string from the kill ring and paste it")) (define-key menu-bar-edit-menu [paste] '(menu-item "Paste" yank - :enable (and - ;; Emacs compiled --without-x doesn't have - ;; x-selection-exists-p. - (fboundp 'x-selection-exists-p) - (x-selection-exists-p) (not buffer-read-only)) + :enable (and (or + ;; Emacs compiled --without-x doesn't have + ;; x-selection-exists-p. + (and (fboundp 'x-selection-exists-p) + (x-selection-exists-p)) + kill-ring) + (not buffer-read-only)) :help "Paste (yank) text most recently cut/copied")) (define-key menu-bar-edit-menu [copy] '(menu-item "Copy" menu-bar-kill-ring-save @@ -495,10 +497,10 @@ '(and mark-active (not buffer-read-only))) (put 'clipboard-kill-ring-save 'menu-enable 'mark-active) (put 'clipboard-yank 'menu-enable - '(and (or (and (fboundp 'x-selection-exists-p) - (x-selection-exists-p)) + '(and (or (not (fboundp 'x-selection-exists-p)) + (x-selection-exists-p) (x-selection-exists-p 'CLIPBOARD)) - (not buffer-read-only))) + (not buffer-read-only))) (defun clipboard-yank () "Insert the clipboard contents, or the last stretch of killed text." -- 2.30.2